package com.snack.shop.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.snack.shop.entity.Product;

/**
 * 商品服务接口
 */
public interface ProductService {

    /**
     * 分页查询商品列表
     * @param categoryId 分类ID（0表示全部）
     * @param current 当前页
     * @param size 每页大小
     * @param status 商品状态（null查全部，0下架，1上架）
     */
    Page<Product> page(Long categoryId, Integer current, Integer size, Integer status, Boolean lowStock, Integer stockThreshold, String keyword);

    /**
     * 获取商品详情
     */
    Product getDetail(Long productId);

    /**
     * 保存商品（新增或编辑）
     */
    void save(Product product);

    /**
     * 更新商品状态（上下架）
     */
    void updateStatus(Long productId, Integer status);

    /**
     * 删除商品（逻辑删除）
     */
    void delete(Long productId);
}

